Technical Field
The present disclosure relates to a method and system for static analysis of computer programs. More specifically, the invention relates to the automated resolution via static analysis of call or jump targets computed at run time by a computer program.
Description of Related Art
Software is changing everything about how we work and live. Today, virtually every organization in business and government is irreversibly dependent on complex systems of billions of lines of code. But what does this code do? Does anyone know for sure? Security and reliability are essential, yet each day brings news of another attack. Security is more reactive than proactive; “bad guys” insert malware, “good guys” try to find it. The result? A never-ending game of catch-up with costly and painful consequences.
Why is this still true after decades of investment in security? The complexity of modern systems makes it impossible for software engineers to understand all possible execution paths with current methods. And, unknown paths can contain exploitable errors or malicious code.
Computing software behavior to manage risks and costs is an approach that computes a behavior of software at machine speeds to reveal its functionality. Key information about the behavior and risks of critical software can be revealed.
Disadvantages of conventional approaches will be evident to one skilled in the art when presented in the disclosure that follows.